using Young3.FMSearch.Core.Attributes;

namespace Young3.FMSearch.Core.Entities.GameVersions
{
    public interface IVersionMemoryAddresses
    {
        [MemoryAddress(CountLength = 4, BytesToSkip = 0x28)]
        int City { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28)]
        int Club { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28)]
        int Continent { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28)]
        int Country { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28)]
        int League { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28)]
        int Language { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28)]
        int Stadium { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28, ObjectOffset = 0)]
        int Team { get; }

        [MemoryAddressAttribute(CountLength = 4, BytesToSkip = 0x28, ObjectOffset = 0)]
        int Person { get; }

        int CurrentDateTime { get; }
        int ActiveObject { get; }
    }
}